package cn.momoshenchi.medicine.util;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.Converter;
import org.codehaus.jettison.json.JSONObject;

import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.lang.reflect.InvocationTargetException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * @version : 1.0
 * @author: momoshenchi
 * @date: 2021/7/15 - 16:12
 */
public class HttpRequestUtil
{
    /**
     * 写着玩玩
     * @param httpServletRequest
     * @param
     * @return
     */
//    public static <T> T commonHttpRequestParamConvert(HttpServletRequest httpServletRequest, Class<? extends T> tClass) throws InvocationTargetException, IllegalAccessException, InstantiationException
//    {
//        Map<String, String> params = new HashMap<>(20);
//
//        Map<String, String[]> requestParams = httpServletRequest.getParameterMap();
//        if (requestParams != null && !requestParams.isEmpty())
//        {
//            requestParams.forEach((key, value) -> {
//                System.out.println(key);
//                AssertUtil.isTrue(value[0] == null, key + "不能为空");
//                params.put(key.substring(3), value[0]);
//            });
//        }
//        T bean=null;
//        ConvertUtils.register(new Converter() {
//
//            @Override
//            public Object  convert(Class  aClass, Object o) {
//                if (null == o) {return null;}
//                SimpleDateFormat format;
//                if (((String) o).length() > 10) {
//                    format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//                } else {
//                    format = new SimpleDateFormat("yyyy-MM-dd");
//                }
//                try {
//                    return (T) format.parse((String) o);
//                } catch (ParseException e) {
//                    e.printStackTrace();
//                    throw new RuntimeException(e);
//                }
//            }
//        }, Date.class);
//
//        bean = tClass.newInstance();
//        BeanUtils.populate(bean, params);
//        return bean;
//    }
}
